1. Field of the Invention
The present invention relates to a radio communication system and method having a radio link control (RLC) layer. More specifically, the invention relates to ciphering the payload data communicated by the radio communication system.
2. Background of the Related Art
Many efforts are being made to develop and study communication technology admitting multimedia access without spatiotemporal limitations. Lately, the development of digital data processing and transmission technology have enabled the realization of a real-time global data communication system, using satellite, wireless, and wire communications. Access to information is freely available regardless of whether the information is voice, still image, or moving picture information. IMT-2000 will be one of the communication technologies supporting multimedia access.
An RLC layer is the second layer of a 3GPP protocol that controls data links and corresponds to the second layer of the 7-layered QSI model. RLC species used in 3GPP are mainly divided into a transparent (Tr) mode specie, to which no RLC header is added, and a non-transparent, (NTR) mode specie, to which an RLC header is added. NTr mode is subdivided into an unacknowledged mode (UM), having no acknowledgment (ACK) signal from a receive stage, and an acknowledged mode (AM), having an ACK signal from the receive stage. Therefore, RLC presently uses three modes, designated as Tr, UM, and AM.
FIG. 1 illustrates a related art block diagram of an RLC AM entity structure. On a transmitting side of the AM entity, segmentation and concatenation are carried out through block 101 to change service data units (SDUs), stepping down from an upper layer, into uniformly sized protocol data units (PDUs). Headers containing sequence numbers (SNs) are added to the PDUs through block 102.
The PDU to which the header is added is transmitted to a multiplexer (MUX) 104 and stored in a retransmission buffer 103, for such later use as may arise. The PDU is conveyed by MUX 104 to ciphering block 105 to encrypt it for data security. The encrypted PDU is temporarily stored in a transmission buffer 106, for later transmission to a field setting block 107.
In the field setting block 107, fields such as a DC and poll field, but not the sequence number of the RLC header, are set and then transmitted to a receive side AM entity. Such a PDU carrying data that has been stepped down from an upper layer is called an AM data (AMD) PDU.
FIG. 2 illustrates a structure of an AMD PDU. The AMD PDU is constructed with a header group, a length indicator (LI) group, a data field, and a padding (PAD) or piggybacked status PDU field.
The header group includes: (1) a sequence number field representing the order of the respective AMP PDUs, (2) a 1-bit D/C field indicating whether the corresponding AMD PDU carries data information or control information, (3) a 1-bit polling field (P field) to request a status report from a receiving side, (4) a 2-bit header extension (HE) field identifying whether the next field is a data field or an LI field, and (5) a 1-bit extension (E) field identifying whether the next field is a data field or the LI field followed by an E bit field.
The LI octet contains an LI field and an E bit field, in which the LI field identifies boundaries of the respective SDUs when the PDU includes a plurality of SDUs. Each LI octet represents an octet count from the first octet of the data part to the last octet of the respective SDUs. The respective LIs for the SDUs included in the PDU are called the LI group.
The data field includes at least one SDU stepped down from the upper layer. Since the size of the data field is variable, padding is used to octet-align the sizes of all the PDUs.
When ciphering is performed on the AMD PDU, the first two octets, which are part of the header group, including the sequence number are not ciphered. The rest of the AMD PDU is ciphered.
In the AM entity, both a control PDU and the AMD PDU exist. Varieties of the control PDU include a status PDU carrying status information, a reset PDU resetting the AM entity, and a reset ACK PDU informing the acknowledgment (ACK) of the reset PDU.
FIG. 3 illustrates a structure of a status PDU. FIG. 4 illustrates a structure of a reset ACK PDU. The control PDUs, which are generated from the RLC control unit, are transmitted to the field setting block without undergoing the ciphering. The D/C and PDU type fields are set and then the control PDU is transmitted to the receiving RLC AM entity.
The D/C field is set to 1 for the AMD PDU and set to 0 for the control PDU. When the AMD PDU is not completely filled with data, the remaining space is padded. When there is a PAD in the AMD PDU, the field setting block 107 enables the transmission of a status PDU instead of the PAD, so as to increase the data transmission efficiency. In this case, the status PDU is called a piggybacked status PDU. A demultiplex/routing part 108 checks the D/C field. If the D/C field value is 0, the control PDU is instantly sent upward to the RLC control unit 100, since a ‘0’ identifies a control PDU. If the D/C field value is 1, the AMD PDU is instantly sent upward to the receiver buffer 109, since a ‘1’ identifies the AMD PDU.
The RLC AM entity supports one or two logical channels for each radio bearer set-up. In FIG. 1, solid and dotted lines indicate the cases of using one or two logical channels, respectively. Data and control channels are differentiated when two logical channels are used. Therefore, the AMD PDU is immediately transmitted to the receiver buffer 109 and the control PDU is transmitted to the RLC control unit 100, via the demultiplex/routing part 108.
Receiver buffer 109 checks the receiving status of the respective AMD PDUs. If an AMD PDU is not received when expected, the receiver buffer 109 sends a NACK signal to the transmitting side to request a retransmission of the missing AMD PDU. The received PDUs are stored in the receiver buffer 109 until all of the PDUs forming a complete SDU are received. Thereafter, the receiver buffer 109 sends the PDUs to the decipherer 110 as SDU units.
The PDUs are deciphered by a deciphering part 110 and data are extracted only by removing RLC headers and piggybacked information from the respective PDUs, in block 111. Thus, the SDU is constructed with pure data through block 111. Subsequently, the SDU is sent upward to an upper layer, through a reassembly part 112.
Unfortunately, the related art has problems in transmitting the AMD PDU. In order for the transmitting side to transmit the piggybacked status PDU, the field setting block 107 checks whether a PAD exists. When a PAD exists, the piggybacked status PDU replaces the PAD in the AMD PDU. Because the AMD PDU has been ciphered already, the ciphered AMD PDU has to be deciphered in the field setting block 107 to determine the exact location of the PAD and whether the PAD exists. Moreover, the deciphered AMD PDU should be ciphered before transmitting the AMD PDU. Therefore, the deciphering/ciphering has to be carried out in the field setting block unnecessarily.
The PDUs stored in the receiver buffer 109 have to be deciphered to determines which PDUs belong to each SDU. Therefore, the receiver buffer also needs to be able to decipher the PDU.
The repeated ciphering/deciphering reduces the processing speed and efficiency of the AMD PDU data and further degrades the system performance.
The RLC has an SDU discard function used for preventing the overflow of a buffer. When this function is used, PDUs corresponding to the SDU are discarded from both the transmitting buffer and the receiver buffer. Since all of the ciphered PDUs are stored in the transmitting and receiver buffers, the transmitting and receiver buffers require the deciphering function commonly.
FIG. 5 illustrates a construction of a related art RLC UM entity. Segmentation and concatenation are performed by block 122 to change the SDUs, stepping down from an upper layer through the UM-SAP, into uniformly sized PDUs. Subsequently, a ciphering part 123 ciphers the PDUs for data security. Then, an RLC header part 124 adds headers containing sequence numbers to the PDUs forming an unacknowledged mode data UMD PDU. A transmission buffer 125 stores and transmits the UMD PDU to a receiving side.
The UMD PDU is used when an ACK signal to the transmitting side from the receiving side is not necessary. An AMD PDU is used when the ACK signal is necessary.
As shown in FIG. 6, the UMD PDU is constructed with a header group, an LI group, a data field, and a PAD field. The header group includes a sequence number field representing the order of the respective PDUs. The header group also has 1-bit extension (E) field indicating whether the next field is the data field or the LI field followed by an extension bit field.
The data field includes at least one SDU stepped down from the upper layer. Since the size of the data field is variable, padding is performed to octet-align the sizes of all the PDUs.
In the same manner as the AMD PDU, the LI group in the UMD PDU is constructed with an LI field and an E bit field. The LI field identifies the boundaries of the respective SDUs, when the PDU includes a plurality of SDUs. Each LI represents an octet count from the first octet of the data field to the last octet of the respective SDUs. The respective LIs for the SDUs included in the PDU are called the LI group.
The first octet is the header and is not ciphered. The rest of the UMD PDU is ciphered.
Referring again to FIG. 5, the RLC UM entity stores the transmitted UMD PDU in the receiver buffer 130. When all of the PDUs forming a complete SDU are received, the stored PDUs are transmitted to block 129 by the respective SDU units. Thereafter, the headers of the PDUs are removed in block 129 and the PDUs are deciphered by a deciphering part 128. The deciphered PDUs are transmitted to an upper layer through a reassembly part 127.
Unfortunately, the related art has problems in transmitting the UMD PDU using the RLC UM entity. Because the PDUs are encrypted before being conveyed to the receiver buffer 130, deciphering has to be performed by the receiver buffer to determine which PDU belongs to which SDU. Therefore, the receiver buffer needs a deciphering function.
The RLC has an SDU discard function used for preventing the overflow of a buffer. When this function is used, PDUs corresponding to the SDU are discarded from both the transmitting and receiver buffers. Since all of the ciphered PDUs are stored in the transmitting and receiver buffers, the transmitting and receiver buffers require the deciphering function commonly.